package com.example.myapplication.soaprequest.request

import org.simpleframework.xml.Element
import org.simpleframework.xml.ElementUnion
import org.simpleframework.xml.Root

@Root(name = "soap:Body", strict = false)
open class SoapRequestBody {
    @field:ElementUnion(
        // 查询帐套
        Element(name = "accset", type = AccsetRequest::class),
        // 检验手机注册
        Element(name = "accsetsaas", type = AccsetsaasRequest::class),
        //  地区表
        Element(name = "arealist", type = ArealistRequest::class),
        //  登录
        Element(name = "login", type = LoginRequest::class),
        // 私有云手机验证
        Element(
            name = "getmboileclientreginfo",
            type = MobileRequest::class
        ),
        // 公告标题列表
        Element(
            name = "broadcastprompt",
            type = BroadcastpromptRequest::class
        ),
        // 公告详细列表
        Element(
            name = "broadcastpromptxx",
            type = BroadcastpromptXXRequest::class
        ),
        // 公司公告列表
        Element(
            name = "broadcast",
            type = BroadcastRequest::class
        ),
        // 公司公告列表详情
        Element(
            name = "broadcastxx",
            type = BroadcastDetailRequest::class
        ),
        // 签到参数
        Element(
            name = "registerwrite",
            type = RegisterWriteRequest::class
        ),
        // 客户信息
        Element(
            name = "clientlist",
            type = CustomerRequest::class
        ),
        // 个人日程
        Element(
            name = "rcpromptlist",
            type = RcpromptListRequest::class
        ),
        // 个人日程
        Element(
            name = "rcpromptxx",
            type = RcpromptDetailRequest::class
        ),
        // 保存个人日程
        Element(
            name = "rcpromptsave",
            type = RcpromptSaveRequest::class
        ),
        // 删除
        Element(
            name = "deldata",
            type = DeldataRequest::class
        ),
        // 获取计划列表信息
        Element(
            name = "getjhblist",
            type = GetPlanRequest::class
        ),
        // 获取计划详细信息
        Element(
            name = "getjhbxx",
            type = GetPlanDetailRequest::class
        ),
        // 预约拜访
        Element(
            name = "jhrwyybf",
            type = AppointmentVisitRequest::class
        ),
        // 售后拜访
        Element(
            name = "jhrwshhf",
            type = AfterSaleRequest::class
        ),
        // 字典
        Element(
            name = "datadict",
            type = DataDictRequest::class
        ),
        // 区域
        Element(
            name = "areatypelist",
            type = AreaTypeListRequest::class
        ),
        // 客户管理列表
        Element(
            name = "jhrwzdy",
            type = CustomerManagerListRequest::class
        ),
    )
    var value: BaseRequest = BaseRequest()
}